package io.plus.interactive;

/**
 * 消息处理模式
 */
public enum PacketHandlerMode {
    /**
     * 处理消息与解码在同一个线程中处理
     */
    SINGLE_THREAD(1),
    /**
     * 把packet丢到一个队列中，让线程池去处理
     */
    QUEUE(2);

    private final int value;

    PacketHandlerMode(int value) {
        this.value = value;
    }

    public static PacketHandlerMode forNumber(int value) {
        switch (value) {
            case 1:
                return SINGLE_THREAD;
            case 2:
                return QUEUE;
            default:
                return null;
        }
    }

    public int getValue() {
        return value;
    }
}
